<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>
    <script>
        // 对象的动态特性
        // 1. 点语法
        //字面量创建对象
        var obj = {
        }

        // 创建完对象之后 还能再添加属性和方法， 称之为 动态添加
        obj.name = 'jack';//动态添加属性
        //动态添加方法
        obj.sayHi = function () {
            console.log('say hi');

        }

        console.log(obj.name);
        obj.sayHi();

        obj.name = 'mr马';
        console.log(obj.name);//'mr马'
        // 结论： 如果对象中存在 点访问的属性 那么就可以修改属性值， 如果对象中不存在 该属性 就可会添加该属性并设置值

        // 删除属性
        delete obj.name;
        console.log(obj.name);//undefined


        // // 2.数组关联法（[] 方法） 新增修改删除 属性
        var obj2 = new Object(); // 内置对象构造函数

        obj2['name'] = 'andy';
        console.log(obj2['name']);


        obj2['sayHi'] = function () {
            console.log('obj2 say hi');
        }
        obj2['sayHi']();

        obj2['name'] = '老周'
        console.log(obj['name']);

        delete obj['name'];
        console.log(obj2['name']);


    </script>
</body>

</html>